[Assembly] jnz after xor?

Posted by kotarou3 on Stack Overflow See other posts from Stack Overflow or by kotarou3
Published on 2010-06-06T11:39:54Z Indexed on 2010/06/06 11:42 UTC
Read the original article Hit count: 432

Filed under:
|
|
|
|

After using IDA Pro to disassemble a x86 dll, I found this code (Comments added by me in pusedo-c code. I hope they're correct):

test    ebx, ebx        ; if (ebx == false)
jz      short loc_6385A34B ; Jump to 0x6385a34b
mov     eax, [ebx+84h]  ; eax = *(ebx+0x84)
mov     ecx, [esi+84h]  ; ecx = *(esi+0x84)
mov     al, [eax+30h]   ; al = *(*(ebx+0x84)+0x30)
xor     al, [ecx+30h]   ; al = al XOR *(*(esi+0x84)+0x30)
jnz     loc_6385A453

Lets make it simpler for me to understand:

mov     eax, b3h
xor     eax, d6h
jnz     ...

How does the conditional jump instruction work after a xor instruction?

© Stack Overflow or respective owner

Related posts about assembly

Related posts about conditional